package cn.hfuu;

import java.io.IOException;

public class Main {
    public static void main(String[] args) {
        // HDFS 路径
        String hdfsFilePath = "/user/hadoop/hello_world.txt";  // HDFS 目标文件路径
        String localFilePath = "local_hello.txt";  // 本地文件路径用于写入内容

        // 第一步：创建一个空的 HDFS 文件
        try {
            String createFileCommand = "hdfs dfs -touchz " + hdfsFilePath;
            Process createFileProcess = Runtime.getRuntime().exec(createFileCommand);
            createFileProcess.waitFor();  // 等待命令执行完成
            System.out.println("Empty file created on HDFS: " + hdfsFilePath);
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }

        // 第二步：将内容写入文件（将 'helloworld' 写入 HDFS 文件）
        try {
            // 创建一个本地文件，用于存放内容
            String content = "helloworld\n";
            java.nio.file.Files.write(java.nio.file.Paths.get(localFilePath), content.getBytes());

            // 使用 hdfs dfs -appendToFile 命令将内容添加到 HDFS 文件
            String writeContentCommand = "hdfs dfs -appendToFile " + localFilePath + " " + hdfsFilePath;
            Process writeContentProcess = Runtime.getRuntime().exec(writeContentCommand);
            writeContentProcess.waitFor();  // 等待命令执行完成
            System.out.println("Content written to HDFS file successfully.");
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
    }
}
